package com.test.design.pattern.adapter.class_adapter;

/**
 * @ClasName SDAdapterTF
 * @Descripution TODO
 * @Author leikw
 * @Date 2021/11/10 14:32
 * @Version V1.0
 */
public class SDAdapterTF extends TFCardImpl implements SDCard {

    public String readSD() {
        System.out.println("adapter read tf card");
        return readTF();
    }

    public void writeSD(String msg) {
        System.out.println("adapter write tf card");
        writeTF(msg);
    }

//将一个类的接口转换成客户希望的另外一个接口，使得原本由于接口不兼容而不能一起工作的那些类能
//一起工作。
//适配器模式分为类适配器模式和对象适配器模式，前者类之间的耦合度比后者高，且要求程序员了解现
//有组件库中的相关组件的内部结构，所以应用相对较少些。

//适配器模式（Adapter）包含以下主要角色：
//目标（Target）接口：当前系统业务所期待的接口，它可以是抽象类或接口。
//适配者（Adaptee）类：它是被访问和适配的现存组件库中的组件接口。
//适配器（Adapter）类：它是一个转换器，通过继承或引用适配者的对象，把适配者接口转换成
//目标接口，让客户按目标接口的格式访问适配者。

//类适配器模式违背了合成复用原则。类适配器是客户类有一个接口规范的情况下可用，反之不可用。
}
